﻿using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MonopolyNOHI2015;

namespace MonopolyTests
{
    [TestClass]
    public class WorpTests
    {
        private Worp _worp;

        [TestInitialize]
        public void Setup()
        {
            var random = new Random();
            var dobbelstenen = new List<Dobbelsteen>(2)
            {
                new Dobbelsteen(random),
                new Dobbelsteen(random)
            };

            _worp = new Worp(dobbelstenen);
        }

        [TestMethod]
        public void TestOf100WorpenMinimaal1XDubbelGegooidOplevert()
        {
            var dubbelteller = 0;

            for (var i = 0; i < 100; i++)
            {
                _worp.GooiDobbelstenen();
                if (_worp.DubbelGegooid()) dubbelteller++;
            }

            Assert.AreNotEqual(0, dubbelteller);
            Assert.AreNotEqual(100, dubbelteller);
        }

        [TestMethod]
        public void TestOfGetTotaalAantalOgenEenGetalTussen2En12Teruggeeft()
        {
            var totaalAantalOgenIsTussen2En12 = false;

            _worp.GooiDobbelstenen();
            if ((_worp.GetTotaalAantalOgen()) >= 2 && (_worp.GetTotaalAantalOgen() <= 12)) totaalAantalOgenIsTussen2En12 = true;

            Assert.AreEqual(expected: true, actual: totaalAantalOgenIsTussen2En12);

        }

    }
}
